﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Tipler.Siniflar;
using System.Data;
using Tipler.OzellikTipleri;
using Tipler.Enumlar;
using Tipler.DataSetler;
using IsKurallari.Yetki;

namespace IKYSWeb.SikKullanilanlar
{
    [YetkiAttribute(EnumSayfaYetkileri.Herkes_Yetkili)]
    public partial class PersonelKisayollari : BasePage
    {


        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
                KisayollariGetir();
        }

        public void KisayollariGetir()
        {

            YetkiIsKurali ISayfalar = new YetkiIsKurali();
            FonksiyonSonuc<KullaniciKisayolDataSet> fsSayfalar = ISayfalar.KullaniciKisayolOlabilecekSayfalariGetir(AktifKullanici.KullaniciID);
            
            ykKisayollar.YetkilIDoldur(AktifKullanici.KullaniciKisayollari, "MenuAdi", "MenuID");
             

            if (fsSayfalar.HataVarMi)
            {
                MesajGoster(Page, "Kısayol olabilecek sayfa bilgileri okunamadı", BasePage.MesajTipiEnum.Hata);
            }
            else
            {
                ykKisayollar.YetkisizDoldur(fsSayfalar.Sonuc, "MenuAdi", "MenuID");
            }
        }

        protected void btnKisayollariKaydet_Click(object sender, EventArgs e)
        {

            foreach (KullaniciKisayolDataSet.KullaniciKisayolRow dr in AktifKullanici.KullaniciKisayollari.KullaniciKisayol.Rows)
                if (!ykKisayollar.Yetkililer.Contains(dr.MenuID))
                    dr.Delete();

            foreach (string MenuID in ykKisayollar.Yetkililer)
            {
                KullaniciKisayolDataSet.KullaniciKisayolRow dr = AktifKullanici.KullaniciKisayollari.KullaniciKisayol.FindByKullaniciIDMenuID(AktifKullanici.KullaniciID, Convert.ToInt32(MenuID));

                
                if (dr == null)
                    AktifKullanici.KullaniciKisayollari.KullaniciKisayol.AddKullaniciKisayolRow(AktifKullanici.KullaniciID, Convert.ToInt32(MenuID));
            }


            YetkiIsKurali IYetki = new YetkiIsKurali();
            FonksiyonSonuc<bool> fsKisayolKaydet = IYetki.KullaniciKisayollarKaydet(AktifKullanici.KullaniciKisayollari);
            if (fsKisayolKaydet.HataVarMi)
            {
                MesajGoster(Page, "Kısayol bilgileri kaydedilemedi.", BasePage.MesajTipiEnum.Hata);
            }

            AktifKullanici.KullaniciKisayollari = null;
        }


    }


}